package com.goldfish666.remote_control.dto.airConditioner;

import com.goldfish666.remote_control.dto.common.ButtonDTO;
import com.goldfish666.remote_control.entity.airConditioner.AirConditionerModel;
import com.goldfish666.remote_control.entity.common.ByteValue;
import com.goldfish666.remote_control.enums.DeviceTypeEnum;
import com.tuyang.beanutils.annotation.BeanCopySource;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@BeanCopySource(source = AirConditionerModel.class)
public class AirConditionerModelDTO implements Serializable {

    protected String id;

    /**
     * 品牌名称
     */
    private String brand;

    /**
     * 型号名称
     */
    private String name;

    /**
     * 设备类型
     */
    private DeviceTypeEnum deviceType;

    /**
     * 按钮数
     */
    private int buttonNumber;

    /**
     * 按钮
     */
    private List<ButtonDTO> buttons;

    /**
     * 公共位
     */
    private List<ByteValue> common;

    /**
     * 默认状态（按复原再按开机后的状态）
     */
    private DefaultStateDTO defaultState;

    /**
     * 制冷默认状态
     */
    private DefaultCoolStateDTO defaultCoolState;

    /**
     * 除湿默认状态
     */
    private DefaultDryStateDTO defaultDryState;

    /**
     * 加热默认状态
     */
    private DefaultHeatStateDTO defaultHeatState;
}
